package com.yb.array;

import java.util.Arrays;

/**
 * @program: algorithm_and_data_structure
 * @description: 数组-删除元素,假设我们需要在一个数组里面删除一个元素，我们应该怎么去做呢？
 * @author: Mr.Bo
 * @create: 2020-07-25 17:44
 **/
public class TestOpArray2 {
    public static void main(String[] args) {
        // 定义一个需要删除元素的数组
        int[] arr = new int[]{9,8,7,6,5};
        // 定义我们需要删除的元素下标，我们要删除6
        int dst = 2;

        // 创建一个新的数组，长度是原来数组的长度-1
        int[] newArr = new int[arr.length-1];
        // 复制原来数组中处理了要删除元素以外的元素
        for (int i = 0; i < arr.length; i++) {
            // 判断一下下标，防止数组越界
            if (i < newArr.length) {
                // 判断要删除元素之前的元素
                if (i < dst) {
                    newArr[i] = arr[i];
                } else {
                    // 要删除的元素之后的元素
                    newArr[i] = arr[i + 1];
                }
            }
        }
        // 新数组替换旧数组
        arr = newArr;
        System.out.println(Arrays.toString(arr));
    }
}
